#define GRAPH_DENSEGRAPH_H
#include <iostream>
#include <vector>
#include <cassert>

using namespace std;
class DenseGraph
{
private:
    int n,m;
    bool directed;
    vector<vector<bool>>g;
public:
    DenseGraph(int n,bool directed){
        this->n=n;
        this->m=0;
        this->directed=directed;
        for (int i = 0; i < n; i++)
        {
            g.push_back(vector<bool>(n,false));
        }
        

    }
    bool hasEdge(int v,int w){
        return g[v][w];
    }
    void addEdge(int v,int w){
        if(hasEdge(v,w)){
            return;
        }
        g[v][w]=true;

        if (!directed)
        {
            /* code */
            g[w][v]=true;
        }
        
    }
    int V(){
        return n;
    }
    int E(){
        return m;
    }
    ~DenseGraph();
    DenseGraph(int m,int n,bool isDirected);
};

DenseGraph::DenseGraph(int m,int n,bool isDirected)
{
}

DenseGraph::~DenseGraph()
{
}
